Many organizations, both large and small, use mass mailings to communicate with current and potential customers, clients, and/or members. Organizations may use a mail merge process to create the documents for these mass mailings. These documents may be physical documents, such as letters or flyers, or they may be electronic documents that are emailed to recipients.
The documents that are communicated as part of the mass mailing may be personalized. This personalization may be accomplished using a mail merge feature implemented in computer software. The mail merge software may access information from a structured data source, like a database, and place the accessed information into the appropriate position of a template to personalize each document in a mass mailing. A business, for example, may use the mail merge feature in the word processing program to generate customer invoices. In this example, the business may maintain a list of customer names, the corresponding mailing address for each customer, and the customer's existing balance. A mail merge program may create each customer invoice by placing the customer's name, mailing address, and existing account balance into the appropriate locations of an invoice template to personalize each customer's invoice.
A mail merge process may be implemented using software that is run on the user's computer. For example, a mail merge process may be included as a feature in a word processing program, such as MICROSOFT WORD. The mail merge software may create and keep open multiple documents during the mail merge process. For example, when the mail merge software is used to personalize customer invoices, the mail merge software may open a new document on the user's computer for each personalized invoice that is created. Thus, a mail merge program that creates 10 personalized invoices may create and keep open 10 documents during the mail merge process.
A user may access the mail merge process using an embedded application. Issues may arise, however, when using embedded applications in the prior art to allow applications on other devices to access programs on the user's computer. For example, some applications, including embedded applications, may not allow a user to view multiple windows. Instead, embedded applications may restrict the user to viewing one window at a time, complicating the use of programs that cause multiple documents to be opened. Further, distributing data from a database to a an application on the user's computer may cause the application to quickly open and then minimize multiple documents on the output of the user's computer. The application programming interface in the application may be unable to suppress these “blinking” documents from appearing on the user computer's output when the application defaults to opening documents as visible. Finally, embedded applications may not allow the user's device to trigger the saving of a document. As such, for at least these reasons, there is a need to improve the ability of embedded systems to allow access to programs on applications on the user's computer.